home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 401-425 / disk_421 / ezasm / colorchg.asm < prev    next >
Assembly Source File  |  1992-05-06  |  1KB  |  100 lines

  1.  
  2.  
  3. *    change color0 every 7th VBlank
  4. *    ( takes about 2 mins. to see all the colors )
  5. *    hit left mouse button to quit
  6. *    no display planes needed!
  7.  
  8.  
  9. INTREQR        equ    $01e
  10. INTREQ        equ    $09c
  11. INTENAR        equ    $01c
  12. INTENA        equ    $09a
  13.  
  14. DMACONR        equ    $002
  15. DMACON        equ    $096
  16.  
  17. BPLCON0        equ    $100
  18. BPLCON1        equ    $102
  19. BPLCON2        equ    $104
  20. BPL1MOD        equ    $108
  21. BPL2MOD        equ    $10a
  22.  
  23. DDFSTRT        equ    $092
  24. DDFSTOP        equ    $094
  25. DIWSTRT        equ    $08e
  26. DIWSTOP        equ    $090
  27.  
  28. BPL1PTH        equ    $0e0
  29. BPL2PTH        equ    $0e4
  30.  
  31.  
  32.  
  33. *        CSEG (Manx)
  34.         SECTION    CODE
  35.  
  36.  
  37. DispMem        equ    -4
  38. Count        equ    -8
  39. IntSave        equ    -12
  40. DmaSave        equ    -14
  41. Color        equ    -16
  42.  
  43.  
  44.  
  45.         link    a5,#-18
  46.  
  47.         lea    14675968,a6
  48.         move.w    INTENAR(a6),IntSave(a5)
  49.         move.w    DMACONR(a6),DmaSave(a5)
  50.  
  51.  
  52.         move.w    #$7fff,INTENA(a6)
  53.         move.w    #$7fff,DMACON(a6)
  54.         move.w    #$8020,INTENA(a6)    ;SET VERTB
  55.  
  56.         clr.l    Count(a5)
  57.         move.w    #$777,Color(a5)    ;start half way thru
  58.  
  59. VBloop        move.w    INTREQR(a6),d1
  60.         btst.l    #5,d1
  61.         beq    .laaa
  62.  
  63.         move.w    #$0020,INTREQ(a6)    ;CLEAR VERTB
  64.  
  65.         addq.l    #1,Count(a5)
  66.         cmpi.l    #6,Count(a5)
  67.         bcs    .laab
  68.         addq.w    #2,Color(a5)
  69.         andi.w    #$0fff,Color(a5)
  70.         clr.l    Count(a5)
  71. .laab
  72.  
  73.         move.w    Color(a5),$dff180
  74. .laaa
  75.  
  76.         btst.b    #6,$bfe001
  77.         bne    VBloop
  78.  
  79.  
  80. *    restore DMACON & INTENA
  81.  
  82. Quit        lea    14675968,a6
  83.         move.w    #$7fff,INTENA(a6)
  84.         move.w    #$7fff,DMACON(a6)
  85.  
  86.         move.w    IntSave(a5),d0
  87.         bset.l    #15,d0
  88.         move.w    d0,INTENA(a6)
  89.  
  90.         move.w    DmaSave(a5),d0
  91.         bset.l    #15,d0
  92.         move.w    d0,DMACON(a6)
  93.  
  94.  
  95.         unlk    a5
  96.         moveq    #0,d0
  97.         rts
  98.  
  99.         END
  100.